package cn.itcast.nems.enrol.web.vo;

import cn.itcast.nems.enrol.dto.EnrolDiscountDTO;
import com.fasterxml.jackson.annotation.JsonProperty;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;

import java.math.BigDecimal;
import java.util.List;

@Data
@NoArgsConstructor
@ToString
public class EnrolOrderLineVO {
    @NotNull(message = "校区ID不能为空")
    @JsonProperty("class_id")
    private Integer classId ;
    /**
     * 购买数量
     */
    private Byte quantity;
    @NotBlank(message = "校区ID不能为空")
    @JsonProperty("school_id")
    private String schoolId;
    @NotBlank(message = "授课模式不能为空")
    @JsonProperty("model_id")
    private String modelId;
    @NotBlank(message = "学科不能为空")
    @JsonProperty("subject_id")
    private String subjectId;
    @NotBlank(message = "班级类型不能为空")
    @JsonProperty("class_type_id")
    private String classTypeId;
    /**
     * 标准价格
     */
    private BigDecimal price;

    /**
     * 应缴金额
     */
    private BigDecimal amountDue;
    /**
     * 优惠价格
     */
    @JsonProperty("discount_account")
    private BigDecimal discountAccount;
    /**
     * 首付金额
     */
    @JsonProperty("first_payment")
    private BigDecimal firstPayment;
    /**
     * 优惠列表
     */
    @JsonProperty("discount_list")
    private List<EnrolDiscountDTO> discountList;
}
